﻿using System.Collections.Generic;
//
namespace PerceptiveMCAPI.Types
{
   public class listBatchSubscribeParms
   {
      public string apikey { get; set; }
      public string id { get; set; }
      public List<Dictionary<string, object>> batch { get; set; }
      public bool double_optin { get; set; }
      public bool update_existing { get; set; }
      public bool replace_interests { get; set; }
      // ------------------------------------------------------------

      public listBatchSubscribeParms()
      {
         this.apikey = MCAPISettings.default_apikey;
         this.batch = new List<Dictionary<string, object>>();
         this.double_optin = MCAPISettings.default_listSubscribe_double_optin;
         this.update_existing = MCAPISettings.default_listSubscribe_update_existing;
         this.replace_interests = MCAPISettings.default_listSubscribe_replace_interests;
      }

      public listBatchSubscribeParms( string id, List<Dictionary<string, object>> batch )
      {
         this.apikey = MCAPISettings.default_apikey;
         this.id = id;
         this.batch = batch;
         this.double_optin = MCAPISettings.default_listSubscribe_double_optin;
         this.update_existing = MCAPISettings.default_listSubscribe_update_existing;
         this.replace_interests = MCAPISettings.default_listSubscribe_replace_interests;
      }

      public listBatchSubscribeParms( string id, List<Dictionary<string, object>> batch,
        bool double_optin, bool update_existing, bool replace_interests )
      {
         this.apikey = MCAPISettings.default_apikey;
         this.id = id;
         this.batch = batch;
         this.double_optin = double_optin;
         this.update_existing = update_existing;
         this.replace_interests = replace_interests;
      }

      public listBatchSubscribeParms( string apikey, string id, List<Dictionary<string, object>> batch )
      {
         this.apikey = apikey;
         this.id = id;
         this.batch = batch;
         this.double_optin = MCAPISettings.default_listSubscribe_double_optin;
         this.update_existing = MCAPISettings.default_listSubscribe_update_existing;
         this.replace_interests = MCAPISettings.default_listSubscribe_replace_interests;
      }

      public listBatchSubscribeParms( string apikey, string id, List<Dictionary<string, object>> batch,
         bool double_optin, bool update_existing, bool replace_interests )
      {
         this.apikey = apikey;
         this.id = id;
         this.batch = batch;
         this.double_optin = double_optin;
         this.update_existing = update_existing;
         this.replace_interests = replace_interests;
      }
   }
}
